/*
 * op_coda.cpp
 *
 *  Created on: 01/nov/2014
 *      Author: Gabriel
 */

#include "coda.h"


void Coda::creaCoda(){
	testa=-1;
	fondo=-1;
}

boolean Coda::codaVuota(){
	if (testa<0 || testa>fondo) return true;
	else return false;
}

tipoelem Coda::leggiCoda(){
	return elementi[testa];
}

void Coda::inCoda(tipoelem elemento){
	fondo++;
	if(codaVuota()){
		testa++;
		elementi[testa]=elemento;
	}else
		elementi[fondo]=elemento;
}

void Coda::fuoriCoda(){
	testa++;
}

void Coda::stampaCoda(){
	Coda tempCoda;

	while (!codaVuota()){
		tempCoda.inCoda(leggiCoda());
		fuoriCoda();
	}
	while(!tempCoda.codaVuota()){
		cout<<tempCoda.leggiCoda()<<endl;
		inCoda(tempCoda.leggiCoda());
		tempCoda.fuoriCoda();
	}
}

Coda::Coda(){
	creaCoda();
}
Coda::~Coda(){}
